const express = require("express")

const md5 = require("md5")

// 创建一个路由
const route = express.Router()

// 引入正则校验中间件
const addAdminReg = require("../middleware/addAdminReg")

// 引入数据库集合对象
const adminModel = require('../db/model/adminModel')

// 引入权限校验中间件
const isLoginMiddle = require("../middleware/isLoginMiddle")

route.post('/addAdmin', isLoginMiddle, addAdminReg, async (req, res) => {
  const { adminName, password, regTime } = req.body
  try {
    // 拿到adminName去adminModel集合中查找,没找到返回null
    const findResult = await adminModel.findOne({
      adminName
    })
    // 如果adminModel集合中有,返回已注册
    if (findResult) {
      return res.send({
        code: 10001,
        msg: '添加管理员-用户名已注册',
        data: null
      })
    }
    // 如果没有查询到数据,则向数据库添加数据
    await adminModel.create({
      adminName,
      password: md5(password + "123"),
      regTime
    })
    // 然后发送成功的信息
    res.send({
      code: 10000,
      msg: '添加管理员-管理员添加成功',
      data: null
    })
  } catch (e) {
    console.log('添加管理员时出现了异常' + e.message);
    res.send({
      code: 10002,
      msg: "添加管理员-服务端异常",
      data: null
    })
  }
})

module.exports = route;